package cn.tedu._09deepseek.base.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class DeepseekConfig implements WebMvcConfigurer {
    // 添加跨域请求的配置 addC + 回车
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**") //匹配所有请求
                .allowedOrigins("*") //允许所有源访问
                .allowedMethods("GET","POST","PUT","DELETE") //允许所有请求方法
                .allowedHeaders("*"); //允许所有请求头
    }
}

/*
    1.同源地址[URL]:协议相同、域名相同、端口相同;
      http://localhost:8080/v1/user/login
      http://locahost:8080/v1/vehicle/add 是同源地址;

      http://localhost:8080/v1/user/login
      https://localhost:8080/v1/vehicle/add 不是同源地址,因为协议不同;

    2.浏览器的同源策略
      默认情况下,浏览器只能向同源的地址发送请求;
      前端页面: http://localhost:8080/login.html
      输入用户名密码,点击登录按钮,由页面向后端发请求: http://localhost:8080/v1/user/login
      允许发送,因为是同源的;

      前端页面: http://localhost:9090/login.html
      输入用户名密码,点击登录按钮,由页面向后端发请求: http://localhost:8080/v1/user/login
      浏览器坚决不允许发送,因为不同源;

    3.浏览器同源策略的目的:防止csrf跨站请求伪造攻击;
 */






